package co.edu.udea.recursos.hibernate.dao;

import java.util.List;
import co.edu.udea.recursos.hibernate.model.Equipos;

/***
 * @author SANTIAGO RUIZ V - BLADIMIR VELEZ R
 * @version 1.0
 * 
 * Interfaz de acceso a datos de la tabla Equipo
 *
 */
public interface DAOEquipos {

	/**
	 * Metodo que devuelve un listado con todos los equipos
	 * que actualmente se encuentran en la base de datos
	 * @return Listado de entidades de tipo Equipo
	 */
	public List<Equipos> obtenerEquipo();
	
	/**
	 * Metodo que devuelve un equipo a partir de su ID
	 * @param codigo Valor entero que identifica el equipo
	 * @return Instancia de Equipo
	 */
	public Equipos obtenerEquipo(int codigo);
	
	/**
	 * Metodo que permite persistir una Equipo en la base de datos
	 * @param equipos Instancia del Equipo a persistir
	 */
	public void guardarEquipo(Equipos equipos);
	
	/**
	 * Metodo que permite eliminar un Equipo en la base de datos
	 * @param equipos Instancia del Equipo a eliminar
	 */
	public void eliminarEquipo(Equipos equipos);
	
	/**
	 * Metodo que permite persistir un Equipo ya existente en la base de datos
	 * @param equipos Instancia del Equipo a persistir
	 */
	public void editarEquipo(Equipos equipos);
	
	/**
	 * Metodo que permite realizar una busqueda de un equipo a partir de una
	 * palabra clave en su atributo modelo_equipo
	 * @param cadena Keyword para realizar la busqueda
	 * @return Listado de entidades de tipo Equipo que coinciden con el string de busqueda
	 */
	public List<Equipos> buscarEquipo(String cadena);
}